Computer Telephony Integration (CTI) is the concept of interfacing and coordinating telephony services with computer systems. This technology has been available since the mid-1980s, but it has not been widely used until recently. This can be attributed to the development of new technologies, such as general-purpose computers and the defining of International standards for interconnecting telephone and computer systems. The Computer-Supported Telephony Application (CSTA) call modeling and protocol standards developed by the European Computer Manufactures Association (ECMA) has emerged as the dominant standard accepted in the market, defining the method switches use to process all types of calls.
FIG. 1 schematically illustrates a CTI communication system 1 comprising a server 2 linked to a plurality of nodes e.g. Private Branch Exchanges (PBXs) 3. Each PBX 3 supports a number of devices 3a, which may for example be system telephones, plain old telephones (POTs), cordless phones, network trunks or the like. In such current CTI communication systems, CTI information is exchanged between servers and the communication nodes by means off CTI messages. These messages are normally encoded as defined in the CSTA Standard. Data is exchanged in such cases in both directions, whereby in some cases acknowledgements are sent for services, but in some cases they are transmitted unacknowledged. Messages from a server to a PBX are used for controlling devices and creating and controlling of calls. Messages from a PBX to a server are used to report device states and call states.
For a better understanding of CTI messages reference is made to the Open Systems Interconnection (ISO/OSI) 7-layer Reference Model illustrated in FIG. 2. CTI messages are layer 7 application messages. At a transmitting device, staring at the application layer, CTI messages are passed down from one layer to the next layer until transmitted in layer 1, the physical layer. At a receiving device, CTI messages are received in layer 1 and passed up from one layer to the layer above until the application layer is reached.
If a server is operating a number of Client applications simultaneously, the CSTA messages relevant to the individual applications may occur mixed over time in load situations. Typical CTI scenarios consist of one or more CSTA messages. For example, a CTI scenario may involve a sequence of ‘Makecall’, ‘Deflectcall’, ‘SetDisplay’ and ‘Answercall’. If two applications execute the same scenario simultaneously, messages may become mixed. The assignment of the messages is however always unique because corresponding identifications (Ids) are used. All messages pass through a queue because information can sometimes be produced more quickly than it can be exchanged. An example of queue of outgoing messages and incoming messages respectively from and to a server running an application on a first device and an application on a second device is illustrated in FIG. 3.
As soon as high message loads occur, the messages build up in the queues, because on sending, a minimum time delay must be maintained between consecutive messages. This minimum sending delay is necessary to give the receiving device enough time to process the desired actions. An additional flow control of these messages is undertaken in the lower layers by normal LAN and TCP/IP protocols.
Congestion in the queues is basically the result of increases in the response times. This effect is a technical necessity but is always undesirable from a user's point of view.
The present invention aims to alleviate this problem.